Skip to main content

Fitness activities tracker

Small Laravel web project to track daily user’s fitness activities.

Features #

  • User registration and login.
  • General listing of all activities.
  • Filter by type option (cycling, running, swimming…).
  • Online form to add new activities.

Tech features #

  • Request form data validation on new activity.
  • Data cache system on public dashboard.
  • Observer to trigger update cache on new fitness activity.
  • Event and Listener on new fitness activity and email feature.
  • Email report of personal goals.
  • Policy for specify resources by rol (Example: only admin can delete records).
  • Broadcast (pusher) new activity added to rest of online users (php artisan queue:work)

API features #

Created API Rest with 3 endpoints:

  • List activities.
  • Add new activity.
  • Filter by category activities (including total goals: distance and time elapsed).

API Tech features #

  • Api Token authentication via Sanctum.
  • Rate limiting feature enabled to prevent abuse (60 requests/minute).
  • Block IPs feature enabled.

PHPUnit tests #

Included some tests done to web and API services.

Download code #

You can download code in my Github page.

Screenshots #

Main page displaying fitness activities cached pag for guests
Fitness user activities
Fitness user activities filtered by type